import 'package:equatable/equatable.dart';
import 'package:backend.purchases/domain/entities/yookassa_api/payments/yookassa_api_payment.dart';
import 'package:backend.purchases/infrastructure/dtos/yookassa_api/payments/yookassa_api_payment_meta_dto.dart';
import 'package:backend.purchases/infrastructure/dtos/yookassa_api/yookassa_api_money_amount_dto.dart';

const kYookassaApiPaymentTypeKey = 'status';
const kYookassaApiPaymentIdKey = 'id';
const kYookassaApiPaymentMetadataKey = 'metadata';
const kYookassaApiPaymentAmountKey = 'amount';
const kYookassaApiPaymentTestKey = 'test';

abstract class YookassaApiPaymentDto extends Equatable {
  const YookassaApiPaymentDto();

  String get id;

  YookassaApiMoneyAmountDto get amountDto;

  YookassaApiPaymentMetadataDto get metadataDto;

  String get type;

  bool get test;

  YookassaApiPayment toEntity();
}
